﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;

/// <summary>
///ASPX文件基类
/// </summary>
public class BasePage : Page
{
    #region 属性与字段
    /// <summary>
    /// 弹出层回传值统一键名，配合artDialog插件使用
    /// </summary>
    private const string CallBackValueKey = "Art_Data";

    private string _LoginPageUrl = "/Login.aspx";

    /// <summary>
    /// 未登录时跳转地址
    /// </summary>
    public virtual string LoginPageUrl
    {
        get { return _LoginPageUrl; }
        set { _LoginPageUrl = value; }
    }


    private bool _IsLoginValidate = true;
    /// <summary>
    /// 用于指示页面是否需要登录验证
    /// 默认为需要验证
    /// </summary>
    public virtual bool IsLoginValidate
    {
        get { return _IsLoginValidate; }
        set { _IsLoginValidate = value; }
    }
    #endregion

    #region 构造函数
    public BasePage()
    {
    }
    #endregion

    #region 重写事件
    protected override void OnLoad(EventArgs e)
    {
        if (IsLoginValidate)
        {
            LoginValidate();
        }
        base.OnLoad(e);
    }
    #endregion

    #region 登录验证
    public virtual void LoginValidate()
    {

    }
    #endregion


    #region 在弹出层中提示成功信息，配合artDialog插件使用
    /// <summary>
    /// 在弹出层中提示成功信息，配合artDialog插件使用
    /// </summary>
    /// <param name="value">需回传到父级页面的值</param>
    /// <param name="tipmsg">提示语</param>
    public void ShowSuccessInModal(string value, string tipmsg)
    {
        string js = string.Empty;
        tipmsg = string.IsNullOrEmpty(tipmsg) ? "操作成功" : tipmsg;
        if (string.IsNullOrEmpty(value))
        {
            js = "$(function(){$.dialog.close(); $.dialog.success('" + tipmsg + "');});";
        }
        else
        {
            //js = string.Format("$(function(){$.dialog.data('"+CallBackValueKey+"', '"+value+"');$.dialog.close(); $.dialog.success('"+tipmsg+"');});", CallBackValueKey, value, tipmsg);
            js = "$(function(){$.dialog.data('" + CallBackValueKey + "', '" + value + "');$.dialog.close(); $.dialog.success('" + tipmsg + "');});";
        }
        this.ClientScript.RegisterStartupScript(typeof(Page), "ArtDialog_ModalSuccess", js, true);
    }

    /// <summary>
    /// 在弹出层中提示成功信息，配合artDialog插件使用
    /// </summary>
    public void ShowSuccessInModal()
    {
        ShowSuccessInModal(null, null);
    }

    /// <summary>
    /// 在弹出层中提示成功信息，配合artDialog插件使用
    /// 提示信息默认为“操作成功”
    /// </summary>
    /// <param name="value">需回传到父级页面的值</param>
    public void ShowSuccessInModal(string value)
    {
        ShowSuccessInModal(value, null);
    }
    #endregion

    #region 在弹出层中提示失败信息，配合artDialog插件使用
    /// <summary>
    /// 在弹出层中提示失败信息，配合artDialog插件使用
    /// </summary>
    /// <param name="value">需回传到父级页面的值</param>
    /// <param name="tipmsg">提示语</param>
    public void ShowErrorInModal(string value, string tipmsg)
    {
        string js = string.Empty;
        tipmsg = string.IsNullOrEmpty(tipmsg) ? "操作失败" : tipmsg;
        if (string.IsNullOrEmpty(value))
        {
            js = "$(function(){$.dialog.close(); $.dialog.error('" + tipmsg + "');});";
        }
        else
        {
            //js = string.Format("$(function(){$.dialog.data('{0}', '{1}');$.dialog.close(); $.dialog.error('{2}');});", CallBackValueKey, value, tipmsg);
            js = "$(function(){$.dialog.data('" + CallBackValueKey + "', '" + value + "');$.dialog.close(); $.dialog.error('" + tipmsg + "');});";
        }
        this.ClientScript.RegisterStartupScript(typeof(Page), "ArtDialog_ModalError", js, true);
    }

    /// <summary>
    /// 在弹出层中提示失败信息，配合artDialog插件使用
    /// 提示信息默认为“操作失败”
    /// </summary>
    /// <param name="value">需回传到父级页面的值</param>
    public void ShowErrorInModal()
    {
        ShowErrorInModal(null, null);
    }

    /// <summary>
    /// 在弹出层中提示失败信息，配合artDialog插件使用
    /// 提示信息默认为“操作失败”
    /// </summary>
    /// <param name="value">需回传到父级页面的值</param>
    public void ShowErrorInModal(string value)
    {
        ShowErrorInModal(value, null);
    }
    #endregion

    #region 提示成功信息，配合/js/common.js使用
    /// <summary>
    /// 提示成功信息，配合/js/common.js使用
    /// </summary>
    /// <param name="msg">信息</param>
    public void ShowSuccess(object msg)
    {
        string js = "$(function(){Popup.Success('" + msg.ToString() + "');});";
        this.ClientScript.RegisterStartupScript(typeof(Page), "ArtDialog_Success", js, true);
    }
    #endregion

    #region 提示失败信息，配合/js/common.js使用
    /// <summary>
    /// 提示失败信息，配合/js/common.js使用
    /// </summary>
    /// <param name="msg">信息</param>
    public void ShowError(object msg)
    {
        string js = "$(function(){Popup.Error('" + msg.ToString() + "');});";
        this.ClientScript.RegisterStartupScript(typeof(Page), "ArtDialog_Error", js, true);
    }
    #endregion

}